package com.tjmc.company.api.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 企业信息表
 *
 * @author recruit
 * @date 2024-11-13 14:47:16
 */
@Data
@TableName("company_info")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "企业信息表")
public class CompanyInfoEntity extends Model<CompanyInfoEntity> {


	/**
	* 企业ID
	*/
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description="企业ID")
    private Long id;

	/**
	* 企业全称
	*/
    @Schema(description="企业全称")
    private String fullName;

	/**
	* 企业简称
	*/
    @Schema(description="企业简称")
    private String shortName;

	/**
	* 企业简介
	*/
    @Schema(description="企业简介")
    private String introduction;

	/**
	* 注册地址
	*/
    @Schema(description="注册地址")
    private String registeredAddress;

	/**
	* 办公地址
	*/
    @Schema(description="办公地址")
    private String officeAddress;

	/**
	* 联系人姓名
	*/
    @Schema(description="联系人姓名")
    private String contactUserName;

	/**
	* 联系电话
	*/
    @Schema(description="联系电话")
    private String contactNumber;

	/**
	* 成立时间
	*/
    @Schema(description="成立时间")
    private String establishmentDate;

	/**
	* 行业类别：一级>二级
	*/
    @Schema(description="行业类别：一级>二级")
    private String industrycCategory;

	/**
	* 公司规模
	*/
    @Schema(description="公司规模")
    private String compantSize;

	/**
	* 企业福利
	*/
    @Schema(description="企业福利")
    private String employeeBenefits;

	/**
	* 营业执照编号
	*/
    @Schema(description="营业执照编号")
    private String certificationNo;

	/**
	* 营业执照图片
	*/
    @Schema(description="营业执照图片")
    private String certificationImgUrl;

	/**
	* 认证状态0：未认证 1 已认证
	*/
    @Schema(description="认证状态0：未认证 1 已认证")
    private String certificationStatus;

	/**
	* 企业邮箱地址
	*/
    @Schema(description="企业邮箱地址")
    private String emailAddress;

	/**
	* 创建时间
	*/
    @Schema(description="创建时间")
    private LocalDateTime createdAt;

	/**
	* 修改时间
	*/
    @Schema(description="修改时间")
    private LocalDateTime updateAt;

	/**
	* 企业类型：民营、国企、上市
	*/
    @Schema(description="企业类型：民营、国企、上市")
    private String companyType;

	/**
	 * 推荐等级
	 */
	@Schema(description="推荐等级")
	private String recommendLevel;

	/**
	 * 是否会员企业
	 */
	@Schema(description="是否会员企业")
	@TableField(exist = false)
	private String isMember;

	/**
	 * 是否高薪企业
	 */
	@Schema(description="是否高薪企业")
	private String highSalFlag;


	/**
	 * 是否名企
	 */
	@Schema(description="是否名企")
	private String famFlag;

	/**
	 * 企业发布职位
	 */
	@TableField(exist = false)
	@Schema(description="企业发布职位")
	private List<JobInfoEntity> jobList;

	/**
	 * 企业相册
	 */
	@TableField(exist = false)
	@Schema(description="企业相册")
	private List<CompanyImgInfoEntity> imgInfoList;
	/**
	 * 企业logo
	 */
	@TableField(exist = false)
	@Schema(description="企业logo")
	private String companyLogo;

	/**
	 * 企业发布职位数
	 */
	@TableField(exist = false)
	@Schema(description="企业发布职位数")
	private Integer jobCount;

	/**
	 * 简历查看数
	 */
	@TableField(exist = false)
	@Schema(description="简历查看数")
	private Long resumeReadNum;

	/**
	 * 简历未查看数
	 */
	@TableField(exist = false)
	@Schema(description="简历未查看数")
	private Long resumeUnReadNum;

	/**
	 * 被浏览数
	 */
	@TableField(exist = false)
	@Schema(description="被浏览数")
	private Long browsedNum;

	/**
	 * E币数
	 */
	@TableField(exist = false)
	@Schema(description="E币数")
	private Long eCoinNum;

	/**
	 * 短信数
	 */
	@TableField(exist = false)
	@Schema(description="短信数")
	private Long smsNum;
}
